Parallel adding circuit using 3×3 matrix of ± quinary number representation

ABSTRACT

A parallel adding circuit using a quinary number representation including a register having a sign bit, numeral bits and a special bit. The sign bit equal to 1 indicates positive and sign bit equal to 0 indicates negative. The numeral bits includes a first, second and third bits representing weights of 3, 2 and 1, respectively. The special bit is formed by a logical AND of an inverse (logical NOT) of said second bit and an inverse (logical NOT) of said third bit.

BACKGROUND OF THE INVENTION Field of the Invention

This invention relates to a parallel adding circuit which respectively calculates the sum of two numbers coded by ± quinary number representation and outputs the answer.

Discussion of the Related Art

± Quinary numbers treated in this invention generally has the following form:

    A.sub.n A.sub.n-1 A.sub.n-2 . . . . . A.sub.2 A.sub.1 A.sub.0

where A_(i) (i=0 to n) is one of "5, 4, 3, 2, 1, 0, 0, 1, 2, 3, 4, 5". The line above the numeric character is a sign for indicating a negative number. The complete number expressed by this form has the following algebraic expression: ##EQU1##

Examples of ±quinary numbers (corresponding to decimal numbers from -24 to 65) are shown in FIG. 1. "+5" in decimal can be indicated by "5" or "15" in ± quinary. "-5" in decimal can be indicated by "5" or "15" in ± quinary. In regard to zero, both "0" and "0" are permitted.

A typical adding circuit uses binary numbers. This adding circuit requires a few quantity of bits, but for parallel adding, a carry-propagation exists, in which case, the parallel adding circuit becomes complex and requires about 25 gate-steps for 32 bit adding. Therefore, it is not suitable for high-speed adding. Furthermore, the conventional adding circuit uses large fan-in.

The following documents of prior art disclose high-speed calculation by using binary numbers.

(1) Signed-Digit Number Representations for Fast Parallel Arithmetic (IRE TRANSACTIONS ON ELECTRONIC COMPUTER, Sept. 1981, 389-400 page), A. Avizienis.

(2) A VLSI-Oriented High-speed Multiplier Using a Redundant Binary Addition Tree (IEICE TRANSACTIONS, Vol. J66-D, Jun. 1983, 683-690 page), N. Takagi, H. Yasuura, S. Yajima.

(3) A VLSI-Oriented High-speed Divider Using Redundant Binary Representation (IEICE TRANSACTIONS, Vol. J67-D, Apr. 1984, 450-457 page), N. Takagi, H. Yasuura, S. Yajima.

In document (1), the definition of ± quinary is disclosed in which a number for one unit can be expressed by one of "5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5". This definition is almost the same as of the present invention. However, in this invention, "0" can be represented by either "0 " or "0". Document (1) describe that carry-propagation in parallel adding can be avoided, however, an actual circuit is not shown.

In document (1), carry-propagation is eliminated in the following way: ##STR1##

That is, in this calculation, number "6" is allowed for output in the answer. If "6" exists in the output, a 3×3 matrix system cannot be used which will be explained in detail in this specification. Instead, a 7×7 matrix (7 means the numerals "0, 1, 2, 3, 4, 5, 6") must be used, or "6" must be eliminated before the calculation. Nevertheless, the quantity of gate-steps in the adding circuit must be increased.

In the Signed-Digit method of document (2) (abbreviated as SD₂), an actual parallel adding circuit can be made by 6 gate-steps (as hereinafter mentioned, according to this invention the adding circuit can be made by 5 gate-steps), however, it uses double bits per unit to denote "1, 0, 1". Therefore, SD₂ method requires a considerable number of gate-steps to convert a number from SD₂ to Bi (Binary) for storing in memory.

The parallel adding circuit according to document (3) has high-speed with 4 gate-steps, however, it uses SD₂ as the dividend and Bi as the divisor, therefore, this method is only suitable for division. Further, the method shown in document (3) requires much time in the last converting process from SD₂ to Bi. Hence, the dividing speed is about 55% of that of the ± quinary adding circuit.

Comparing to the above mentioned prior arts, ± quinary number can be represented by 4 bits for each unit similar to the BCD (Binary-Coded Decimal). In this case, it is not necessary to convert to Bi in order to store the number in memory. Instead, it is enough to convert from ± quinary to BCD only when the answer is to be displayed as final or printed.

Furthermore, the +quinary parallel adding circuit has the speed of 5 gate-steps. Therefore, the ± quinary system has a superior performance than that as described in the prior art documents (1), (2) or (3).

The present inventor discovered a new ± quinary adding method which was different from the binary adding method. Since then, a considerable effort has been made to improve it.

The results of the inventor's research are published as follows:

(4) "Adding And Adjusting Circuits Of ± Quinary Numbers Which Is Classified To Same And Different Sign", Japanese Laid Open Publication 56-33733, Y. Sugimura and "Fast Multiplication By ± Quinary" (SYSTEMS; COMPUTERS; CONTROLS; Vol. 11 Sept.-Oct. 1980, pp. 9-19).

In these theories, one unit is indicated by a 4 bit code which consists of "S, 4, 2, 1" (where S corresponds to the sign).

Every bit is added in binary, that is, three bits for one unit are added in parallel. In these theories, if all units are constructed to add in parallel, each unit needs 210 gates and the number of gate-steps required becomes 10.

(5) "± Quinary Parallel Adding Circuit", Japanese Laid Open Publication 57-93446, Y. Sugimura.

According to this circuit, one unit is indicated by a 7 bit code consisting of "S, 5, 4, 3, 2, 1, 0". In this adding circuit, a 6×6 matrix is provided consisting of the signals "5, 4, 3, 2, 1, 0" as the augend and the signals "5, 4, 3, 2, 1, 0" as the addend. From 36 intersections, interim sums are outputted.

In this adding circuit, the gate quantity needed for each unit is decreased to 129, and gate-steps are decreased to 8.

As understood from the preceding explanation, gate-quantity and gate-steps can be decreased by using a matrix. However, in document (5), number of bits for each unit is 7 and the maximum fan-in per gate is 10. Both are still large.

(6) "± Quinary Adding 3×3 Matrix", Japanese Laid Open Publication 59-139445, Y. Sugimura.

The adding circuit in this article is constructed by a 3×3 matrix system. This method can be realized by the invention of the "S, 3, 2, 1" code (see FIG. 2). According to this code, "5˜0" are shown as follows (ignoring sign S): ##STR2##

In the above expression, if weight 3 is ignored, "5, 4, 3" and "2, 1, 0" have similar forms.

When a unit augend A is represented as follows:

    A.sub.s A.sub.3 A.sub.2 A.sub.1 =S3 2 1,

only one signal of A₂, A₁, A₀ can be ON (A₀ being defined as A₂ A₁, where the bar indicates NOT) (see FIG. 3).

In other words,

if A₂ is ON, A is "5" or "2",

if A₁ is ON, A is "4" or "1",

if A₀ is ON, A is "3" or "0".

Thus, A₂, A₁ and A₀ can not be ON together. Only one signal of A₂, A₁ and A₀ can be ON, and from one signal of A₂, A₁, A₀, a decision can be made on which numerals, "5, 2" or "4, 1" or "3, 0", are ON.

In the ± quinary method, "6" does not exist. If 6 (=1 1 1) is permitted, it would be possible to have both A₂ and A₁ ON. Since in ± quinary there is no "6", such a case can never occur.

Therefore, if addend B is represented by the code "B_(s) B₃ ₂ B₁ ", a 3×3 matrix constructed by signals A₂, A₁, A₀, and signals B₂, B₁, B₀ (B₀ =B₂ B₁) can be arranged and only one intersection among nine intersections is allowed be ON.

Actually, there are 16 kinds of interim sums at every intersection according to the combination of A₃ B₃ and A_(s) B_(s) (see FIGS. 5 and 6). Based on this pattern of interim sums, only one right answer can be selected in accordance with the combinations A₃ B₃ and A_(s) B_(s).

In such a way, the system disclosed in document (6) has developed a parallel adding circuit which has 98 gates for each unit and 5 gate-steps, retaining 4 bits for each unit.

In the system disclosed in document (6), input "0" is always defined to be positive and carry propagation is avoided by the method in which interim sums of "5" are converted to "15" when A and B of lower unit are both positive.

(7) "± Quinary Parallel Adding Circuit And Multiplication" (IEICE TRANSACTIONS, Vol. J71-D, Feb. 1988, 193-203 page), Y. Sugimura.

This document shows an easier version of document (6), without having a matrix and has 189 gates for each unit and 6 gate-steps.

The conventional methods have the following problems which are solved by the present invention. The following table shows a comparison of 4 parallel adding circuits shown in documents (4), (5), (6) and (7).

    ______________________________________                                         bits per   gates per             maximum                                       unit       unit         gate-steps                                                                              fan-in                                        ______________________________________                                         (4)    4       210          10                                                 (5)    7       109          8                                                  (6)    4        98          5       8*                                         (7)    4       189          6      6                                           ______________________________________                                          *except carry adder                                                      

As understood from the above table, (6) has the best characteristics. However, (6) has 8 maximum fan-in and input "0" is limited only to be positive, which are undesirable. When negative sign for zero is not permitted, it requires much gate-steps in multiplication and division to reverse the negative sign of zero to positive.

SUMMARY OF THE INVENTION

The present invention has been made in view of the above circumstances and has as an object of solving the problems as referred to above.

Another object is to improve the adding circuit as shown in document (6) such as to reduce the number of maximum fan-in and allow a negative zero ("0").

Additional objects and advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.

According to the invention, a signal A₀ (A₂ A₁) and a signal B₀ (B₂ B₁) are effectively used for selecting the answer from the answer candidates outputted from a 3×3 matrix. Accordingly, with this improvement, the maximum fan-in per gate can be decreased to 6.

According to another aspect of the present invention, a code indicating the minus zero ("0") is allowed to be inputted into the adding circuit. A selecting circuit for selecting an answer from the answer candidates and a conversion circuit for converting "5→15" or "5→15" in order to prevent carry-propagation are improved such that the adding circuit operates correctly even when the minus zero code is applied to these circuits. Accordingly, multiplying and dividing speed of the adding circuit can be increased.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification illustrate embodiments of the invention and, together with the description, serve to explain the objects, advantages and principles of the invention.

FIG. 1: ± Quinary numbers corresponding to "-24˜65" in decimal numbers.

FIG. 2: "S, 3, 2, 1, 0" code for ± quinary.

FIG. 3: Register for "S, 3, 2, 1, 0" code.

FIGS. 4aand 4b: Adding circuit of interim sum.

FIG. 5: Pattern of interim sums and carries at 9 intersections.

FIG. 6: Pattern of interim sums of absolute value at 9 intersections.

FIG. 7: Relation between turned ON gates R and intersections.

FIG. 8: Target gates H of βD, βD, αD and αD.

FIG. 9: Positions of gates E.

FIG. 10: Operations by gates E.

FIG. 11: Gates H cut by gates E in connection with intersections.

FIG. 12: Pattern of signs of interim sums "1˜4".

FIG. 13: Positions of P (Plus) and M (Minus) which are common in all intersections.

FIG. 14: Four patterns of minus sign distribution.

FIG. 15: Four patterns of plus sign distribution.

FIG. 16: Sign circuit for interim sums "1˜4".

FIG. 17: Selecting circuit in accordance with combinations of sign of interim sum and carry.

FIGS. 18(a)and 18(b): Carry circuit.

FIGS. 19(a) and 19(b): Diagram of positions of carry "15".

FIG. 20: Condition of "15→5".

FIG. 21: Condition of "15→5".

FIG. 22: Example of conventional carry propagation (right side) and example of non-propagation of carry (left side).

FIG. 23: Cases of interim sum "5" and "5".

FIG. 24: Diagram of sign of "5".

FIG. 25: Circuit of sign of "5".

FIG. 26: Carry adder.

FIG. 27: Final sign circuit.

FIG. 28: Whole diagram of parallel adding circuit.

FIG. 29: Comparison of the parallel adding circuit of this invention with document (6), SD₂ (2) and binary.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (1) ± Quinary code in this invention

In this invention, one unit X of ± quinary is coded as shown in FIG. 2. In FIG. 2, X_(s) is a sign bit, where X_(s) =1 denotes positive sign and X_(s) =0 (X_(s) =1) denotes negative sign. X₃, X₂, X₁ are numeral bits and X₃, X₂, X₁ have weights of 3, 2, 1, respectively.

X₃ =1 denotes ON-signal of a bit which has weight 3.

X₂ =1 denotes ON-signal of a bit which has weight 2.

X₁ =1 denotes ON-signal of a bit which has weight 1.

X₃ =0 (X₃ =1) denotes OFF-signal of a bit which has weight

X₂ =0 (X₂ =1) denotes OFF-signal of a bit which has weight 2.

X₁ =0 (X₁ =1) denotes OFF-signal of a bit which has weight 1.

X₀ is a special bit, where X₀ is given by the following equation:

    X.sub.0 =X.sub.2 X.sub.1

Therefore, X₀ =1 denotes that the signals X₂ and X₁ are both OFF.

X₀ =0 (X₀ =1) denotes that one of the signals X₂ and X₁ is ON. According to this code, only one signal among X₂, X₁, X₀ is ON.

If X₂ is ON, X₁ and X₀ are both OFF.

If X₁ is ON, X₀ and X₂ are both OFF.

If X₀ is ON, X₂ and X₁ are both OFF.

Furthermore, according to this code, "5, 4, 3, 2, 1, 0" are coded as follows: ##STR3##

Thus, if signals X₃ and X₃ are ignored from consideration, every number can be denoted by only one signal from X₂, X₁ and X₀.

(2) 3×3 Matrix Adding

In the following description, augend A is expressed by A=A_(s) A₃ A₂ A₁ A₀ and addend B is expressed by B=B_(s) B₃ B₂ B₁ B₀.

Augend A can be expressed by only one signal from A₂, A₁ and A₀. A Also, addend B can be expressed by only one signal from B₂, B₁ and B₀.

Therefore, when 3×3 matrix is made by A₂, A₁, A₀ and B₂, B₁, B₀, only one intersection among 9 intersections can be ON (see FIG. 4(b)) Interim sums at intersections are shown in FIG. 5.

In FIG. 5, there are 4 kinds of A_(s) B_(s) combinations [++], [--], [+-], [-+] and 4 kinds of A₃ B₃ combinations [00], [33], [03], [30].

For example, when adding equation

    A+B=5+3

operands A and B can be expressed as follows (a bar over the numeral represents negative sign): ##STR4##

In this case, the combination is expressed as follows:

A_(s) B_(s) =[-+]: (sign combination is given by [])

A₃ B₃ =[33]: (X₃ combination is also given by [])

A₂ B₂ =(20) : (intersection is given by ())

In FIG. 5, at the position of intersection (20) of row [33] and column [-+], interim sum "2" is shown.

(3) Adding Circuit

FIG. 6 shows interim sums of absolute value at intersections.

FIG. 4 illustrates an adding circuit which calculates and outputs interim sums shown in FIG. 6. At the center (b) in FIG. 4, a 3×3 matrix is provided with signals A₂, A₁, A₀ and B₂, B₁, B₀.

Small circles of 9 intersections represent AND gates. Detailed connection of the 3×3 matrix (b) is shown on the lower left side of FIG. 4.

(3a) Answer candidate generation

Outputs from the 9 intersections are inputted to upper gates R₅ ˜R₀ of FIG. 4, in accordance with the pattern of FIG. 6.

In the pattern shown in FIG. 6, intersections which output "5˜0" are given in the following table:

    ______________________________________                                         5            (20) (02) (11)                                                    4            (00) (01) (21) (22) (12) (10)                                     3            (00) (01) (21) (22) (11) (12) (10)                                2            (20) (01) (21) (11) (12) (10) (02)                                1            (20) (01) (21) (12) (10) (02)                                     0            (00) (22) (11)                                                    ______________________________________                                    

From the above table, following logical expressions are derived:

    R.sub.5 =A.sub.2 B.sub.0 +A.sub.0 B.sub.2 +A.sub.1 B.sub.1

    R.sub.4 =A.sub.0 B.sub.0 +A.sub.0 B.sub.1 +A.sub.2 B.sub.1 +A.sub.2 B.sub.2 +A.sub.1 B.sub.2 +A.sub.1 B.sub.0

    R.sub.3 =A.sub.0 B.sub.0 +A.sub.0 B.sub.1 +A.sub.2 B.sub.1 +A.sub.2 B.sub.2 +A.sub.1 B.sub.1 +A.sub.1 B.sub.2 +A.sub.1 B.sub.0

    R.sub.2 =A.sub.2 B.sub.0 +A.sub.0 B.sub.1 +A.sub.2 B.sub.1 A.sub.2 B.sub.1 +A.sub.1 B.sub.1 +A.sub.1 B.sub.2 +A.sub.1 B.sub.0 +A.sub.0 B.sub.2

    R.sub.1 =A.sub.2 B.sub.0 +A.sub.0 B.sub.1 +A.sub.2 B.sub.1 +A.sub.1 B.sub.2 +A.sub.1 B.sub.0 +A.sub.0 B.sub.2

    R.sub.0 =A.sub.0 B.sub.0 +A.sub.2 B.sub.2 +A.sub.1 B.sub.1.(1)

R₄ ˜R₁ may be simplified as follows (see FIG. 7): ##EQU2##

Input-connections of gates R₅ and R₀ in FIG. 4 correspond to preceding expressions from (1) and R₄ ˜R₁ correspond to expressions (2). By adopting these expressions (2), the quantity of maximum fan-in of R gates are decreased from 7 of document (6) to 3 in this embodiment.

In this specification and drawings, an OR gate is shown by a gate in which input-lines go through the inside of the hemisphere, an AND gate is shown by a gate in which input-lines stop at the border line of the hemisphere, and a small hemisphere under the gate represents a NOT signal.

FIG. 7 is a table showing R gates which are turned ON when an intersection is turned ON. As understood from FIG. 6 and 7, R gates having 3 or 4 different kinds of answer-candidates are turned ON when one intersection is turned ON. Thus, answer candidates are outputted from R gate groups corresponding to the intersection defined by A₂, A₁, A₀ and B₂, B₁, B₀ signals.

(3b) Election of candidates

In the adding circuit shown in FIG. 4, signals corresponding to answer candidates outputted from R gate groups are selected by D gate groups in accordance with the combinations of A₃ B₃, and two possible answers consisting of main-output and sub-output are selected. Main-outputs are a major group of the answers and sub-outputs are a minor group in the given case.

Detailed explanation is to follow.

(3B-1) Classification of Intersections

As shown in FIG. 7, intersections can be classified into group α consisting of (21) (12) (10) (01) and group β consisting of (22) (00) (20) (02) (11).

Group α is defined as follows:

A₁ present and B₁ absent . . . . . . . . . (12), (10) or A₁ absent and B₁ present . . . . . . . . . (21), (01).

Therefore, a signal Sα of group α is defined as follows:

    Sα=(A.sub.1 B.sub.1 +A.sub.1 B.sub.1)

On the contrary, β is defined as follows:

A₁ and B₁ both present . . . (11)

or A₁ and B₁ both absent . . . (22), (00), (20), (02).

Therefore, a signal Sβ of group β is defined as follows:

    Sβ= (A.sub.1 B.sub.1 +A.sub.1 B.sub.1).

In FIG. 4, gates αD, αD, βD, βD have the following logical expressions:

    αD=Sβ+(A.sub.3 B.sub.3 +A.sub.3 B.sub.3)

    αD=Sβ+(A.sub.3 B.sub.3 +A.sub.3 B.sub.3)

    βD=Sα+(A.sub.3 B.sub.3 +A.sub.3 B.sub.3)

    βD=Sα+(A.sub.3 B.sub.3 +A.sub.3 B.sub.3).

In these expressions,

D corresponds to [33] or [00] of A₃ B₃ and

D corresponds to [03] or [30] of A₃ B₃.

When an intersection of group α is ON, βD and βD gates which have an input Sα, are always ON, therefore, βD and βD gates have no influence in controlling H gate groups which input the outputs from R gate groups and D gate groups.

When an intersection of group β in ON, αD and αD gates which have an input Sβ, are always ON, therefore, αD and αD gates have no influence in controlling H gate groups.

That is, when an intersection of group α in ON, αD and αD gates control H gate groups, and when an intersection of group β is ON, βD and βD gates control H gate groups.

In this invention, by using signals Sα=(A₁ B₁ +A₁ B₁) and Sβ=(A₁ B₁ +A₁ B₁), the maximum quantity of fan-in for D gate groups (αD, αD, βD, βD gates) can be decreased to "4".

The maximum quantity of fan-in for D gate groups in document (6) is "7".

(3b-2) The first selection Selection by gate D

According to FIG. 6, at the intersections of group α, (21), (12), (10), (01) and in the case of αD, the main-output (major output group) is "1" and sub-output (minor output group) is "3".

Corresponding to these outputs, the output-lines from αD gates are connected to H₁ and H₃ gates as shown in FIG. 4.

In the case of αD, the main-output is "4" and sub-output is "2". Corresponding to these outputs, the output-lines from αD gates are connected to H₄ and H₂ gates.

In this arrangement, at intersections (21), (12), (10) and (01) of group α, it is forbidden to output from H gate groups the possible answers other than main-output "1" and sub-output "3" when αD is ON. Similarly, it is forbidden to output from H gate groups the possible answers other than main-output "4" and sub-output "2" when αD is ON. For instance, if intersection (12) of group α is ON, gates R₄, R₃, R₂, R₁ are turned ON (see FIG. 7). In the case that gate αD is ON, only gates H₁ and H₃ are at standby and the gates H₂ and H₄ are not allowed to be turned ON. From these R and H gates, operation numbers "1" and "3" which are common in R and H are selected, where "1" is the main-output and "3" is the sub-output. Same operation is achieved by αD, βD and βD gates.

Operations by αD and αD gates are summarized as follows: ##EQU3##

Similarly, about βD, βD, it is described as follows: ##EQU4## (X-outputs "2" and "3" are always sub: see following example)

Target gates of αD, αD, βD, βD are shown in FIG. 8. In FIG. 8, symbol () shows the main outputs.

Example:

    A+B=2+5=13.

Here, A and B can be expressed as follows: ##STR5## Therefore, intersection is (22),

kind of intersection is β,

A₃ B₃ is [03], and

D gate is βD.

The selection process is shown as follows: ##STR6##

Therefore, only gate H₃, which is located in the same column with R₃ becomes ON. It matches the answer "3" which is at the position of (22), [03]and [++] in FIG. 6.

In FIG. 4, gate h₃ is cut by H₅ (when AND gate h₃ has an input of H₅, we call "H₅ cuts h₃ "). Then, if H₅ is ON, h₃ can not be ON. And, if H₅ is cut by E gates (right side gates in FIG. 4) h₃ can be ON. In such a case, "5" is called the main-output and "3" is called the sub-output.

However, in this example, H₅ is OFF.

Therefore, only sub-output "3" exists (see former mark X in section 3b-2).

Selection by E gates

As understood from the preceding explanation, H gates having the number corresponding to the main-output and sub-output are turned ON. These signals are further selected by E gate groups of 00E, 33E, 03E and 30E which are shown at right side in FIG. 4.

At first, the outline of gate E is explained by an example.

In an intersection (22) in FIG. 6, the main-output at rows [00] and [33] is "0", but outputs must be changed from "0" to "4" only at the position defined by 00E (at [00] row and at [++], [--] columns). In FIG. 4, gate H₀ produces main-output "0". Gate H₄ →h₄ produces sub-output "4", but h₄ is cut by H₀ so that h₄ can not be ON as long as H₀ is ON. Thus, h₄ can become ON only when H₀ becomes OFF by 00E. The positions defined by 00E, 33E, 03E and 30E are shown in FIG. 9.

In order to change the outputs of h gates from main-output to sub-output in a particular condition, gate 00E must work to perform this task at intersection of (22). The same operation by gate 00E is needed for intersections (21), (12) and (11). However, for intersections (10),(01),(00), such operation by gate 00E to switch from main-output to sub-output must be prohibited.

Similarly, gate 33E must work at intersections of (10), (01) (00), (11), but must not work at intersections of (22), (21) (12). Gate 03E must work at intersections of (21), (10), (20) (11), but must not work at intersections of (12), (01), (02). Gate 30E must work at intersections of (12), (02), (01), (11), but must not work at intersections of (21), (20), (10).

In FIG. 10, operations required for E gates are shown. Gates 00E, 33E, 03E and 30E are constructed based on the following logic: ##EQU5##

In these logical equations, the last element for each equation corresponds to the intersections where conversion from main-output to sub-output is prohibited or the conversion has no influence on the output from h gates. In these equations, A_(s) B_(s).A_(s) B_(s) is used instead of A_(s) B_(s) +A_(s) B_(s), where A_(s) B₂ +A_(s) B_(s) corresponds to the condition that signs A_(s) and B_(s) are the same (E case). Similarly, A_(s) B_(s) A_(s) B_(s) is used instead of A_(s) B_(s) +A_(s) B_(s) ; where A_(s) B_(s) +A_(s) B_(s) corresponds to the condition that signs A_(s) and B_(s) are different (E case). According to the above conversion of the logical equations, the quantity of gate-steps is decreased.

FIG. 11 shows H gates which are cut by E gates.

At the far left side in FIG. 11, intersections where E gate operations are prohibited are shown (see FIG. 10, also).

It should be noted that below FIG. 11, FIG. 8 and Fig. 7 are shown again. Utilizing these 3 drawings, we can calculate any interim sums of A+B automatically (A, B are numerals of one unit in ± quinary).

Example 1: A+B=5+4-11.

In this case, every operand can be expressed as follows: ##STR7## Where intersection is (21),

kind of intersection is α,

A_(s) B_(s) is [++],

A₃ B₃ is [33],

kind of D is αD, and

kind of E is 33E. ##STR8##

As understood from FIG. 11, 33E does not work on H gates when (21) is turned ON.

Then, in this example, H₁ is not cut.

Therefore, main-output H₁ and h₁ located on the same column as R₁, become ON. On the other hand, sub-output h₃ (located above H₃ in FIG. 4) is OFF, because h₃ is cut by H₁.

Therefore, the number of the h gate which is turned ON corresponds to the answer "1". This output is the same as the answer shown at the position of (21), [33], E (++) in FIG. 6.

In this case, H₁ is not cut by 00E since 00E is OFF.

Therefore, 00E does not affect the h gate output.

Example 2: A+B=3+2=1

In this case, every operand is expressed as follows: ##STR9## where intersection is (02),

kind of intersection is β,

A_(s) B_(s) is [-+],

A₃ B₃ is [30],

kind of D is βD, and

kind of E is 30E. ##STR10## are concluded.

The number of h gates which is turned ON corresponds to the answer "1" at the position of (02), [30], E (-+) in FIG. 6.

In this case, H₁ is not cut by 00E and 33E, since both 00E and 33E are OFF. Therefore, 00E and 33E do not disturb H₁ 's conduction.

Example 3: A+B=2+5=3

The operands are given as follows: ##STR11##

The parameters are as follows:

intersection is (22),

kind of intersection is β,

A_(s) B_(s) is [+-],

A₃ B₃ is [03],

kind of D is βD, and

kind of E is 03E. ##STR12## are concluded.

The number of h gates which is turned ON corresponds to the answer "3" at the position of (22), [03], E (+-) in FIG. 6.

In this case, 03E cuts H₅, H₄ in FIG. 11. But, since R₅ is OFF, H₅ is OFF to begin with. Therefore, the cut operation by 03E has no affect in producing the answer "3".

In such a way, it can be confirmed that right answers can be output from h gates in FIG. 4.

(3c) Sign circuit of interim sum

FIG. 12 shows signs of interim sums shown in FIG. 5.

In this invention, "+" sign S_(i) and "-" sign S_(i) are used for the interim sums of "1 to 4". However, sign of "5" are derived separately and sign of "0" is allowed to be positive and negative. Therefore, currently, signs for "5" and "0" are ignored in this section.

In the pattern in FIG. 12, the following 4 positions are always either plus or zero (see FIG. 13, left). For the interim sum of zero, "+" sign S_(i) may be outputted. ##EQU6##

On the other hand, the following 4 positions are always either minus or zero (see FIG. 13, right). For the interim sum of zero "-" sign S_(i) may be outputted. ##EQU7##

At the intersection (11), outputs at the positions other than P₁ to P₄ and M₁ to M₄ are all zero or 5, thus, sign S_(i) and sign S_(i) can be determined by P₁ to P₄ and M₁ to M₄ only.

Other minus distribution of remaining 8 intersections are classified into the following 4 types (see FIG. 14). ##EQU8##

However, the foregoing 4 positions of P₁, P₂, P₃, P₄ must be removed from the above expressions.

Then, type 1) (denoted by m₁) is given by the following expression:

    m.sub.1 =A.sub.2 B.sub.s P.sub.1 P.sub.4,

where

A₂ indicates (22),(21),(20),

B_(s) indicates [++], [-+].

Similarly, type 2) to type 4) are given by the following expressions: ##EQU9##

All minus positions are made by adding (M=M₁ +M₂ +M₃ +M₄) to (m₁ +m₂ +m₃ +m₄).

Therefore, minus signal is given by the following expression:

    M+m.sub.1 +m.sub.2 +m.sub.3 +m.sub.4

Then, plus sign Si becomes

    S.sub.i =m.sub.1 m.sub.2 m.sub.3 m.sub.2 M.

Similarly, minus sign S_(i) becomes

    S.sub.i =p.sub.1 p.sub.2 p.sub.3 p.sub.4 P,

where

p1=A₂ B_(S) M₂ M₃

p2=B₂ A_(S) M₂ M₄

p3=A₀ B_(S) M₁ M₄

p4=B₀ A_(S) M₁ M₃

p=P₁ +P₂ +P₃ +P₄.

Based on these relations, sign circuit of FIG. 16 is constructed. The sign circuit comprises three gate-steps.

The maximum fan-in in this circuit is decreased to 5 while the maximum fan-in in the corresponding circuit disclosed in document (6) is 8.

(3d) Selecting the combinations of sign of interim sum and carry from lower unit

In a carry adding circuit shown in FIG. 26, signals for indicating the combinations of sign of interim sum (S_(i) or S_(i)) and carry sign (Sc or Sc) from the lower unit are necessary (under-lining of alphabetic character indicates a lower unit).

In the case of "++" (interim sum is "+", and carry from lower unit is "+"), "++" signal el is given as follows:

    e.sub.1 =S.sub.i S.sub.c =m.sub.1 m.sub.2 m.sub.3 m.sub.4 MSc

Where Sc means plus sign of carry from lower unit.

In the case of "--" (interim sum is "-", and carry from lower unit is "-"), "--" signal e₂ is given as follows:

    e.sub.2 =S.sub.i S.sub.c =p.sub.1 p.sub.2 p.sub.3 p.sub.4 PSc

Where Sc means minus sign of carry from lower unit. In the case of "+-" (interim sum is "+", and carry from lower unit is "-"), "+-" signal d₁ is given as follows:

    d.sub.1 =S.sub.i Sc=m.sub.1 m.sub.2 m.sub.3 m.sub.4 MSc

In the case of "-+" (interim sum is "-" , and carry from lower unit is "+" ), "-+" signal d₂ is given as follows:

    d.sub.2 =S.sub.i +Sc=p.sub.1 p.sub.2 p.sub.3 p.sub.4 PSc.

Every gate e₁, e₂, d₁ and d₂ has fan-in of 6, and the circuit comprises three gate-steps (FIG. 17).

In these expressions, Sc has the following logic: ##EQU10##

(3e) Carry Circuit

Two kinds of carry exist. One is a normal carry and the other is a special carry which is fed by the conversion of

    "15→5" and "15→5".

(3e-1) Normal Carry

Two kinds of normal carries exist.

One kind (denoted by C_(i1)) is located in the rows ([33], [03]and [30]) and columns ([++]and [--]) of the intersections (22), (12) in the pattern of FIG. 5.

C₁₁ is given by the following expression:

    C.sub.i1 =(A.sub.0 +B.sub.0)·A.sub.1 B.sub.1 ·A.sub.3 B.sub.3 ·A.sub.s B.sub.s ·A.sub.s B.sub.s

In the above expression, A₀ +B₀ is a logic for realizing that C_(i1) gate is not turned ON at the intersections [(20), (02), (10) (01), (00)]. These intersections have a signal of A₀ or B₀. Logic A₀ +B₀ indicates intersections (20), (02), (10), (01), (00).

A₁ B₁ is a logic for realizing that C_(il) gate is not turned ON at the intersection (11).

A₃ B₃ is a logic for realizing that C_(il) gate is not turned ON at row [00].

A_(s) B₂ ·A_(s) B_(s) is a logic for realizing that C_(i1) gate is not turned ON at columns [+-] and [-+].

Another kind (denoted by C_(i2)) is located in the row [33] and [++] and [--] columns of every intersection.

C_(i2) is given by the following expression:

    C.sub.i2 =A.sub.3 B.sub.3 ·A.sub.s B.sub.s ·A.sub.s B.sub.s

Above expression shows that C_(i2) gate is turned ON at row [33] of all the columns except [+-] and [-+] at all intersections.

In several cases, both C_(i1) and C_(i2) gates are turned ON, however, this does not present any problems.

Gates C_(i1) and C_(i2), so constructed, are shown in FIG. 18(a) (first and second from left).

(3e-2) Special Carry

Special carry is the carry which is generated by conversion of interim sum "5" or "5". When interim sum "5" exists, and carry "1" comes from a lower unit, answer "6" may be generated. However, in ± quinary system, numeral "6" is not permitted. Therefore, "6" must be changed to "14".

Therefore, carry "1" may be generated again. Then, the undesirable probability of carry-propagation exists.

In this invention, the following method is utilized to prevent carry-propagation. That is, when there is a probability of receiving carry "1" from the lower unit, the conversion of "15→5" is performed in advance.

By this method, if carry "1" is transferred from the lower unit, the calculation 5+1=4 is performed and carry-propagation can be prevented.

If there is no carry from the lower unit, the calculation "5+0=5" is performed, which does not affect the calculation.

Similarly, when there is a possibility of receiving carry "1" from lower unit, the conversion of "5→15" is performed in advance. From this conversion, carry-propagation can be prevented.

In FIG. 18(a) , C15₁ and C15₂ are the gates which generate special carries "1" by the conversion "15→5".

C15₁ and C15₂ are the gates which generate special carries "1" by the conversion "15→5".

Before discussing the condition of conversion, we must decide the positions of "5" and "5" in the pattern shown in FIG. 5.

In document (6), these positions are classified by every column of [++], [--], [+-] and [-+].

But in this invention, we sort the kinds of positions of "5" and "5" by [03]and [30]rows. The following classification is used.

In the row [03], one kind of positive "5" is located ##EQU11##

These "5" are converted to "15" by the gate C15₁ in FIG. 18(a), when a certain condition, which will be explained later, is met.

In the row [30], another kind of positive "5" is located ##EQU12##

These "5" are converted to "15" by the gate C15₂ in FIG. 18(a), when the same condition as that of C15₁ is met.

FIG. 19 shows the diagram in deciding the positions of "5". At the left side, the method for deciding the [03]rows is shown. At first, "5" does not exist at (10), (01) or (00).

Then, gate C15₁ of FIG. 18(a) is cut by signals A₂ B₀ and A₀ B₂.

A₂ B₀ denotes (10) and (00).

A₀ B₂ denotes (01) and (00).

We assume that at the row [03], positive "5" is located at the positions of [++] and [-+] columns at intersections (22), (21), (12), (20), (02), (11) (denoted by 1) in FIG. 19(a) and 19(b).

Actually there is "5" the positions of [++] of (22), (21) and (12). However, this is not a problem since we are only considering plus carry "1" and these three positions always unconditionally generate plus carry "1".

Accordingly, C15₁ has an input of an AND signal ([03]·B_(s)), where B_(s) denotes [++] and [-+].

Furthermore, in the 12 positions (shown as [1] in FIGS. 19(a) and 19(b), five positions expressed by [-+] of (22), (21), (12), (20) (11) must be eliminated (the position [-+] of (02) which has the A₀ signal is not eliminated). Then, C15₁ has an input of A₀ A_(s). The term A₀ A_(s) expresses [--] and [-+] columns of (22), (21), (12), (20) and (11), which do not have the A₀ signal. Mark "X" in FIGS. 19(a) and 19(b) denotes 10 positions which have the A₀ A_(s) expression. The C15₁ gate is constructed accordingly. The input lines from the lower unit will be explained later.

Similarly, positions of gate C15₂ adjacent to C15₁ is decided as shown in FIG. 19(b).

Next, we consider the condition necessary for lower unit C15₁ and C15₂ to work.

FIG. 20 shows the condition for "15→5". Augend of a lower unit is denoted by A and addend of a lower unit is denoted by BB. Numerals are classified as 5, 4, 3 group and 2, 1, 0 group.

Here, we define that, ##EQU13##

Therefore, we can classify the two numeral addition into six cases of: ##STR13##

The cases [33], [30], [03] and [00] (non [3]) have carries 1 or 0. Then, when the lower unit is in any of these cases, conversion "15→5" should be performed.

By doing so, carry propagation can be prevented.

The cases [33], [33], [30], [03], [33] (having [3]) have carries 1 or 0. Then, when the lower unit is in any of these cases, non-conversion, that is, "5←5" is performed.

From this arrangement, carry-propagation can be prevented.

Similarly, condition of "15→5" is shown in FIG. 21.

When the lower unit is in any of the cases [33], [30], [03], [33] and [33] (having [3]), "1" or "0" carry may be sent from the lower unit. Then, non-conversion "5→5" is required to prevent carry-propagation. On the other hand, when the lower unit is in any of the cases [00], [03], [30] and [33] (non [3]), "1" or "0" carry may be sent from the lower unit. Then, the conversion "15→5" is required to prevent carry-propagation

As understood from the above mentioned analysis, C15₁ and C15₂ must have inputs ##EQU14##

Finally, it is understood that gates C15₁, C15₂, C15₁, C15₂ should have the following logical relations: ##EQU15##

Right side of FIG. 22 shows a conventional carry addition which has carry-propagation.

Left side of FIG. 22 shows carry addition of this invention which does not have carry-propagation.

By the foregoing method, carry propagation can be prevented in this invention regardless of the sign of "0".

The carry circuit shown in FIGS. 18(a) and 18(b) has three gate-steps (equal to that in FIG. 6 of document (6)).

FIGS. 18(a) and 18(b) shows 6 maximum fan-in, while in document (6), the maximum fan-in is 7. Also, in document (6), sign of "0" is limited to be "+". Then, from the art in document (6), two processes are required for sign inversion as follows:

    504→504→504

In this invention, such inconvenient processes are not required, increasing multiplying and dividing speeds.

Furthermore, in this invention, A₀ and B₀ bits are stored in registers themselves, then gates A₀ A_(s), etc. can be made from one gate-step. If A₀ and B₀ bits are absent, A₀ must be formed as A₂ A₁, which increases the number of gate-steps by one more step.

Gate Sc in FIG. 18 is the gate which outputs sign of carry.

In FIG. 5, normal plus carry "1" is generated at [++]. [33], [++]. [03] and [++]. [30].

Accordingly, this logical condition is expressed by

    A.sub.s A.sub.3 +B.sub.s B.sub.3.

Also, special carry sign "+1" is made by the conversion "15→5". ##EQU16##

Accordingly, this logical condition is also expressed by

    A.sub.s A.sub.3 +B.sub.s B.sub.3.

Finally, sign Sc of positive carry is concluded to be expressed as

    Sc=A.sub.s A.sub.3 +B.sub.s B.sub.3.

In these conditions, normal and special negative carry "1" can never be generated, since normal negative carry is at [--]. [33], [--]. [03]and [--]. [30], and special negative carry is at [--]·[03], [+-]·[03], [--]·[30], and [-+]·[30].

Therefore, if Sc is utilized simultaneously with the carry signal, Sc precisely describes the positive sign of carry.

(3e-3) Sign of "5"

Interim sums "5" are generated in 12 cases shown in FIG. 23. These "5" and "5" are transformed to "15" and "15", respectively, according to the proceeding condition of lower unit (see FIG. 24, also).

In FIG. 24, V₁ is the case for "15→5" and V₂ is the case for "5→5". Therefore, signs of last output "5" (after converting or unconverting process) should be negative at V₁ and V₂ conditions.

FIG. 25 shows the last sign S₅ for output "5". Gate S₅ exists upon gate H₅ which is expressed in FIG. 4. If signals V₁ and V₂ are eliminated from gate S₅, S₅ would show only positive sign of "5".

Hero is a case in which the positive sign is continued.

    5+1=4

where "1" is a carry from a lower unit. In such a case, the positive sign continues as "5→4".

Therefore, there is no interruption in sending signal S₅ to the final positive sign gate N_(s) (FIG. 27).

Next, we must verify the situation in which V₁ and V₂ are generated. V₁ is formed by the following logical expression:

    V.sub.1 =C15.sub.1 +C15.sub.2

However, V₂ can not be expressed by a similar expression such as

    V.sub.2 =C15.sub.1 +C15.sub.2

because V₂ is a negative sign of "5" and C15₁ and C15₂ are positive signs of "5". V₂ is derived by the following method.

At first, we must check the condition in which interim sum "5" can be produced.

In FIG. 23, if either A has A_(s) A₃ or B has B_(s) B₃, there is a probability of producing "5".

For instance, in following equation,

    A+B=5+0=5,

    A=5=3+2 has a [3] signal (A.sub.s A.sub.3).

In following equation,

    A+B=2+3=5,

    B=3=3+0 has a [3] signal (B.sub.s B.sub.3).

That is, when output of interim sum has a "5" value, at least A or B must have signal [3].

For this reason, V₂ (FIG. 25) has an input of ρ₁,

    ρ1=A.sub.s A.sub.3 +B.sub.s B.sub.3.

Of course, in spite of ρ₁ being ON, "5" is not necessarily produced.

For instance, in the case

    4+3=13,

there is no output "5".

But, in FIG. 25, S₅ has an input H₅, i.e., matter is limited to only the situation which has output "5".

In other words, when interim sum has a value "±5", and ρ₁ is ON, then the sign of "5" is always "-".

Furthermore, "5" should remain as "5" when lower unit has either A_(s) A₃ or B_(s) B₃, or both (FIG. 21).

Therefore,

    V.sub.2 =ρ.sub.1 ρ.sub.2 =(A.sub.s A.sub.3 +B.sub.s B.sub.3)·(A.sub.s A.sub.3 +B.sub.s B.sub.3)

is derived, where

    ρ.sub.2 =A.sub.s A.sub.3 +B.sub.s B.sub.3.

Finally, it is concluded that when interim sum is "±5", "±5" is "5" if ρ₁ is ON, and "5" remains "5" if ρ₂ is ON.

Thus, all negative signals can be eliminated from S₅.

(3f) Carry Adder

Carry adder is shown in FIG. 26. From lower side of the drawing, outputs H₅ ˜H₀ continues from FIG. 4.

From the right side, carry C continues from lower unit of FIG. 18.

Gates X5˜X1 of upper stage perform addition of interim sums and carry in absolute value.

Gates W4·W0 of lower stage perform subtraction of interim sums and carry in absolute value.

Gates Z5˜Z0 of middle stage have no carry signal.

For instance, on H₂ column, gate X3 performs

2+1=3 and 2+1=3, where 2 and 2 are interim sums, and 1 and 1 are carries.

Gate W1 performs

2+1=1 and 2+1=1, where 2 and 2 are interim sums, and 1 and 1 are carries.

Gates d₁, d₂, e₁ and e₂ are the gates which are shown in FIG. 17.

Gates of X stage, except for X1, have inputs d₁ and d₂. Therefore, X stage gates, except for X1, are operable when the sign of interim sum and carry is the same.

When the interium sum is "0" and the carry is sent from a lower unit, the absolute sum of the interium sum and carry is "1" for both "0+1" and "0+1" cases. Therefore, d₁ and d₂ are not input to the X1 gate.

Gates of W stage, except for W4, have inputs e₁ and e₂. Therefore, W stage gates, except for W4, are operable when the sign of interim sum and carry is different.

In the adding circuit of this invention, carry propagation is prevented. When the interium sum is "5" or "5", the sign of carry is always different from the sign of the interium sum. The only possible cases are "5+1" and "5+1" but "5+1" and "5+1" are not allowed. Therefore, e1 and e2 are not input to the W4 gate.

For instance, gate X3 is constructed as follows:

    X3=d.sub.1 d.sub.2 H.sub.4 H.sub.2 H.sub.0 C

In the above expression,

"H₄ H₂ H₀ " corresponds to

"h₂ =H₄ H₂ H₀ " in FIG. 4.

In FIG. 26, h and H gates in FIG. 4 are combined into only one gate to save the quantity of gate-steps.

Outputs of every gate are classified by 3 2 1 0 code. According to this code, every output of every gate is sent to equivalent N gate (N₃ N₂ N₁ N₀ representing 3 2 1 0 code). For instance, output of gate X4 is expressed as follows:

    4=3+1.

Then, from X4, signal "3" is sent to gate N₃ and signal "1" is sent to gate N₁.

Gates X5, Z4 and W3 each have an output "3". Therefore, three "3" outputs are combined into only one gate III to save the number of fan-in of gate N₃.

Gates X5, Z4 and W3 can be turned ON when the interium sum is "4", that is, H4 is ON and H0 is OFF. To gate III, H4 and H0 signals are input. Therefore, gate III is turned ON when one of X5, Z4 and W3 gates is turned ON.

From this method, maximum fan-in is limited to 6. Also, by combining gates h and H, gate-steps of carry adder is limited to 2 steps. Furthermore, gate-steps of this parallel adding circuit is limited to 5 steps, by adding the 2 steps of the carry adder to 3 steps of interim adder shown in FIG. 4.

(3c) Final Sign Circuit

FIG. 27 shows the final sign circuit. Sign S₅ of "5", decided in FIG. 25, does not change even if a carry is added. Thus, signal S₅ is sent, without being modified, to OR gate N_(s) (final sign). Signal S_(i) (FIG. 16) which produces the signs for "1˜4" is obtained by ignoring "5" and "0". Therefore, gate S_(I) located above S_(i) must be cut by signals H₅ and H₀.

In FIG. 27, S_(I) is penetrated by positive signals of "4"˜"1". Therefore, "0" signal, which is produced by the following addition, is sent to N_(s) :

    1+1=0,

where "1" is the interim sum and "1" is the carry from lower unit. Only in this case, "0" sign becomes positive.

Another final output "0" generally has a "-" sign, except when outputs "0" of Z0 and W0 in FIG. 26 are sent to N_(s).

When H₀ is added by positive carry, "0+1=1" is executed. This signal "1" is transferred to gate N_(s) also by gate "0+1" (X1 of FIG. 26 means 0+1 and 0+1).

From these procedures, the circuit of final sign N_(s) is constructed.

(3h) Whole Figure of Parallel Adding Circuit

FIG. 28 demonstrates the whole figure of the parallel adding circuit. In the figure, carry circuit 18, five sign circuit 25, sign circuit 16, and interim sums circuit 4 are located at a lower stage (every number indicates the figure number) and have three gate-steps. At upper stage, final sign circuit 27 and carry adder 26 are located and have two gate-steps.

Signals A_(s), A₃, A₂, A₁, A₀, B_(s), B₃, B₂, B₁ and B₀ are at the bottom. Signals A_(s), A₃, B_(s) and B₃ are applied to the carry circuit 18 and the five sign circuit 25.

Signals H₅, H₄, H₃, H₂, H₁ and H₀, generated from interim sums circuit 4, are applied to the carry adder 26.

Signals d₁, d₂, e₁ and e₂, which are produced by S_(i), S_(i) and Sc, are applied to the carry adder. C is also applied to the carry adder.

At the carry adder, from these eleven input signals, numeral results N₃, N₂, N₁ and N₀ are produced. At the carry circuit 18, signals Sc, C and V₁ are produced. At the five sign circuit 25, signal V₂ is produced.

Signals V₁, V₂, S_(i), H₅, H₀, C and Sc are applied to the final sign circuit 27. At the final sign circuit, final sign signal N_(s) is produced from these seven input signals. This parallel adding circuit has 5 gate-steps, 6 maximum fan-in and 120 gates per unit.

A comparison of gate-steps, number of gates for each unit, maximum fan-in number and signs of "0" among the present invention, document (6), SD₂ (2) and binary are shown in FIG. 29. FIG. 29 shows that this invention has the best performance (in SD₂, adding circuit itself has 6 gate-steps but conversion of SD₂ →Bi requires about 9 steps).

The foregoing description of preferred embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiments were chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents. 

What is claimed is:
 1. A parallel adding circuit using a ±quinary number representation comprising:means for receiving an augend and an addend in the ± quinary number representation, said augend and said addend each having a sign bit, numeral bits and a special bit, said sign bit having one of a positive representation and a negative representation, said numeral bits including first, second and third bits representing weights of values, respectively, said special bit representing a logical relationship of said second bit and said third bit, wherein said sign bit, numeral bits and special bit can represent any ± quinary number; and means for adding said augend to said addend to produce a sum in the ±quinary number representation, said adding means including a plurality of gate-steps and a plurality of corresponding gates, wherein the corresponding gates of a first one of said gate-steps being coupled to said means for receiving said augend and addend, the corresponding gates of a last one of said age-steps producing said sum, and the corresponding gates of remaining ones of said gate-steps being connected in order between said corresponding gates of first and last gate-steps, each of said gates having a fan-in of at most six.
 2. The parallel adding circuit according to claim 1, wherein said positive sign bit is represented by a "1" and said negative sign bit is represented by a "0".
 3. The parallel adding circuit according to claim 1, wherein said first, second and third bits represent weights of three, two and one, respectively.
 4. The parallel adding circuit according to claim 1, wherein said logical relationship is a logical AND of an inverse of said second bit and an inverse of said third bit.
 5. The parallel adding circuit according to claim 1, wherein said plurality of said gate-steps is at most five.
 6. The parallel adding circuit according to claim 1, wherein said receiving means includes a 3×3 matrix for receiving said second, third and special bits of said augend and said second, third and special bits of said addend.
 7. A parallel adding circuit for adding one unit augend A and one unit addend B, said augend A and said addend B being coded in accordance with a ±quinary number representation, said parallel adding circuit comprising:a first register, said first register having at least five bit spaces represented by AS, A3, A2, A1, A0, and having the following format:the AS bit being ON when said augend A is positive, the A3 bit being ON when said augend A includes a weight of "3", the A2 bit being ON when said augend A includes a weight of "2", the A1 bit being ON when said augend A includes a weight of "1", the A0 bit being ON when both A2 and A1 bits are OFF; a second register, said second register having at least five bit spaces represented by BS, B3, B2, B1, B0, and having the following format:the BS bit being ON when said addend B is positive, the B3 bit being ON when said addend B includes the weight of "3", the B2 bit being ON when said addend B includes the weight of "2", the B1 bit being ON when said addend B includes the weight of "1", the B0 bit being ON when both B 2 and B1 bits are OFF; a first logic gate, said first logic gate receiving input signals from the A2 and B2 bits; a second logic gate, said second logic gate receiving input signals from the A2 and B1 bits; a third logic gate, said third logic gate receiving input signals from the Z2 and B0 bits; a fourth logic gate, said fourth logic gate receiving input signals from the A1 and B2 bits; a fifth logic gate, said fifth logic gate receiving input signals from the A1 and B1 bits; a sixth logic gate, said sixth logic gate receiving input signals from the A1 and B0 bits; a seventh logic gate, said seventh logic gate receiving input signals from the A0 and B2 bits; an eight logic gate, said eighth logic gate receiving input signals from the A0 and B1 bits; a ninth logic gate, said ninth logic gate receiving input signals from the A0 and B0 bits; a plurality of intermediate logic gates for outputting corresponding output signals in response tot he signals from the bits A0, A1, A2, A3, AS and the bits B0, B1, B2, B3, BS; a plurality of sorting logic gates for receiving corresponding input signals from said first through ninth logic gates and outputting corresponding output signals; a plurality of upper intermediate logic gates represented by H0, H1, H2, H3, H4 and H5, said upper intermediate logic gates receiving input signals from the output signals of said intermediate logic gates and sorting logic gates; and a plurality of upper logic gates represented by h1, h2, h3 and h4, said upper logic gates receiving input signals from output signals of the upper intermediate logic gates.
 8. The parallel adding circuit according to claim 7, wherein said plurality of intermediate logic gates comprises:a first intermediate logic gate represented by αD, said first intermediate logic gate being turned ON when one of the following bit conditions are satisfied: both the A1 and B1 bits are ON, both the A1 and B1 bits are OFF, both the A3 and B3 bits are ON, or both the A3 and B3 bits are OFF; a second intermediate logic gate represented by αD gate, said second intermediate logic gate being turned ON when one of the following bit conditions are satisfied: both the A1 and B1 bits are ON, both the A1 and B1 bits are OFF, the A3 bit is ON and the B3 bit is OFF, or the A3 bit is OFF and the B3 bit is ON; a third intermediate logic gate represented by βD gate, said third intermediate logic gate being turned ON when one of the following bit conditions are satisfied: the A1 bit is ON and the B1 bit is OFF, the A1 bit is OFF and the B1 bit is ON, both the A3 and B3 bits are ON, or both the A3 and B3 bits are OFF; a fourth intermediate logic gate represented by βe,ovs/D/ gate, said fourth intermediate logic gate being turned ON when one of the following bit conditions are satisfied: the A1 bit is ON and the B1 bit is OFF, the A1 bit is OFF and the B1 bit is ON, the A3 bit is ON and the B3 bit is OFF, or the A3 bit is OFF and the B3 bit is ON; a fifth intermediate logic circuit represented by a 03E gate, said fifth intermediate logic circuit being turned OFF when said A0 bit is ON or the B2 bit is ON; a sixth intermediate logic circuit represented by a 30E gate, said sixth intermediate logic circuit being turned OFF when said A2 bit is ON or the B0 bit is ON; a seventh intermediate logic circuit represented by a 00E gate, said seventh intermediate logic circuit being turned OFF when the A0 bit is ON or the B0 bit is ON; and an eighth intermediate logic circuit represented by a 33E gate, said eighth intermediate logic circuit being turned OFF when the A2 bit is ON or the B2 bit is ON.
 9. The parallel adding circuit according to claim 8, wherein said first, second, third and fourth intermediate logic gates are OR gates.
 10. The parallel adding circuit according to claim 8, wherein said fifth and sixth intermediate logic gates represented by 03E and 30E, respectively, are turned OFF when both the AS and BS bits are ON or when both the AS and BS bits are OFF; andwherein said seventh and eighth intermediate logic gates represented by 00E and 33E, respectively, are turned OFF when the AS bit is ON and the BS bit is OFF or when the AS bit is OFF and the BS bit is ON.
 11. The parallel adding circuit according to claim 8, wherein said fifth, sixth, seventh, and eighth intermediate logic gates are AND gates.
 12. The parallel adding circuit according to claim 7, further comprising:a first carry logic gate represented by C151 and a second carry logic gate represented by C152, said first and second carry logic gates receiving: an inverted signal from a first lower gate, said first lower gate being turned ON when the AS bit a lower unit is OFF and the A3 bit of the lower unit is ON, and an inverted signal from a second lower gate, said second lower gate being turned ON when the BS bit of the lower unit is OFF and the B3 bit of the lower unit is ON; and a third carry logic gate represented by C151 and a fourth carry logic gate represented by C152, said third and fourth carry logic gates receiving: an inverted signal from a third lower gate, said third lower gate being turned ON when the AS bit of a lower unit is ON and the A3 bit of the lower unit is ON, and an inverted signal from a fourth lower gate, said fourth lower gate being turned ON when the BS bit of the lower unit is ON and the B3 bit of the lower unit is ON.
 13. The parallel adding circuit according to claim 12, wherein said first carry logic gate (C151) further receives:a signal from a fifth lower gate, said fifth lower gate being turned ON when the A3 bit is OFF, the B3 bit is ON, and the BS bit is ON; and an inverted signal from a sixth lower gate, said sixth lower gate being turned ON when the A0 bit is OFF and the AS bit is OFF; and wherein said second carry logic gate (C152) further receives: a signal from a seventh lower gate, said seventh lower gate being turned ON when the A3 bit is ON, the B3 bit is OFF, and the AS bit is ON; and an inverted signal from an eight lower gate, said eighth lower gate being turned ON when the B0 bit is OFF and the BS bit is OFF; therein said third carry logic gate (C151) further receives: a signal from a ninth lower gate, said ninth lower gate being turned ON when the A3 bit is OFF, the B3 bit is ON, and the BS bit is OFF; and an inverted signal from an tenth lower gate, said tenth lower gate being turned ON when the A0 bit is OFF and the AS bit is ON; and wherein said fourth carry logic gate (C152) further receives: a signal from an eleventh lower gate, said eleventh lower gate being turned ON when the A3 bit is ON, the B3 bit is OFF, and the AS bit is OFF; and an inverted signal from a twelfth lower gate, said twelfth lower gate being turned ON when the B0 bit is OFF and the BS bit is ON.
 14. The parallel adding circuit according to claim 13, wherein said fifth, sixth, seventh, eighth, ninth, tenth, eleventh, and twelfth lower gates are AND gates.
 15. The parallel adding circuit according to claim 12, wherein each of said first, second, third, and fourth carry logic gates further receives:an inverted signal from a thirteenth lower gate, said thirteenth lower gate being turned ON when the A2 bit is OFF and the B0 bit is ON; and an inverted signal from a fourteenth lower gate, said fourteenth lower gate being turned ON when the A0 bit is ON and the B2 bit is OFF.
 16. The parallel adding circuit according to claim 15, wherein said thirteenth and fourteenth lower gates are AND gates.
 17. The parallel adding circuit according to claim 12, wherein said first, second, third, and fourth carry logic gates are AND gates and said first, second, third, and fourth lower gates are AND gates.
 18. The parallel adding circuit according to claim 7, wherein said first through said ninth logic gates are AND gates.
 19. The parallel adding circuit according to claim 7, wherein one of said logic gates represented by H5, h4, h3, h2, h1 and H0 is turned ON.
 20. The parallel adding circuit according to claim 7, wherein said plurality of sorting logic gates comprises:a first sorting logic gate represented by R5, said first sorting logic gate R5 being turned ON when one of said third logic gate, said seventh logic gate and said fifth logic gate in ON; a second sorting logic gate represented by R4, said second sorting logic gate R4 receiving an inverted signal from said third logic gate, an inverted signal from said seventh logic gate, and an inverted signal from said fifth logic gate; a third sorting logic gate represented by R3, said third sorting logic gate R3 receiving an inverted signal from said third logic gate and an inverted signal from said seventh logic gate; a fourth sorting logic gate represented by R2, said fourth sorting logic gate R2 receiving an inverted signal from said first logic gate and an inverted signal from said ninth logic gate; a fifth sorting logic gate represented by R1, said fifth sorting logic gate R1 receiving an inverted signal from said first logic gate, an inverted signal from said ninth logic gate, and an inverted signal from said fifth logic gate; and a sixth sorting logic gate represented by R0, said sixth sorting logic gate R0 being turned ON when one of said first logic gate, said ninth logic gate, and said fifth logic gate is ON.
 21. The parallel adding circuit according to claim 7, wherein said upper intermediate logic gates comprise:a first upper intermediate logic gate represented by H5, said first upper intermediate logic gate H5 receiving a signal from said fourth intermediate logic gate βD, a signal from said first sorting logic gate R5, an inverted signal from said fifth intermediate logic gate 03E, and an inverted signal from said sixth intermediate logic gate 30E; a second upper intermediate logic gate represented by H4, said second upper intermediate logic gate H4 receiving a signal from said third intermediate logic gate βD, a signal from said second intermediate logic gate αD, a signal from said second sorting logic gate R5, an inverted signal from said fifth intermediate logic gate 03E, and an inverted signal from said sixth intermediate logic gate 30E; a third upper intermediate logic gate represented by H3, said third upper intermediate logic gate H3 receiving a signal from said fourth intermediate logic gate βD, a signal from said third sorting logic gate R3, and a signal from said first intermediate logic gate αD; a fourth upper intermediate logic gate represented by H2, said fourth upper intermediate logic gate H2 receiving a signal from said third intermediate logic gate βD, a signal from said fourth sorting logic gate R2, and a signal from said second intermediate logic gate αD; a fifth upper intermediate logic gate represented by H1, said fifth upper intermediate logic gate H1 receiving a signal from said fourth intermediate logic gate βD, a signal from said first intermediate logic gate αD, a signal from said fifth sorting logic gate R1, an inverted signal from said seventh intermediate logic gate 00E, and an inverted signal from said eighth intermediate logic gate 33E; and a sixth upper intermediate logic gate represented by H0, said sixth upper intermediate logic gate H0 receiving a signal from said third intermediate logic gate βD, a signal from said sixth sorting logic gate R0, an inverted signal from said seventh intermediate logic gate 00E, and an inverted signal from said eighth intermediate logic gate 33E.
 22. The parallel adding circuit according to claim 7, wherein said upper logic gates comprise:a first additional logic gate represented by h4, said first additional logic gate h4 receiving a signal from said second upper intermediate logic gate H4, and an inverted signal from said sixth upper intermediate logic gate H0; a second additional logic gate represented by h3, said second additional logic gate h3 receiving an inverted signal from a first upper intermediate logic gate H5, a signal from said third upper intermediate logic H3, and an inverted signal from said fifth upper intermediate logic gate H1; a third additional logic gate represented by h2, said third additional logic gate h2 receiving an inverted signal from said second upper intermediate logic gate H4, a signal from said fourth upper intermediate logic gate H2, and an inverted signal from said sixth upper intermediate logic gate H0; and a fourth additional logic gate represented by H1, said fourth additional logic gate h1 receiving an inverted signal from said first upper intermediate logic gate H5, and a signal from said fifth upper intermediate logic gate H1. 